package org.example.config;

import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * Swagger配置类
 * 用来配置Swagger生成API文档
 *
 * @author rjs
 */
@Configuration
public class SwaggerConfig {

    /**
     * 创建SpringShopOpenApi Bean
     * SpringShopOpenApi包含Swagger文档的基本信息
     * 并通过externalDocs属性链接到外部文档
     */
    @Bean
    public OpenAPI springShopOpenApi() {

        return new OpenAPI().info(new Info().title("十六进制说") // 文档标题
                .description("十六进制说API文档") // 文档描述
                .version("v1") // 文档版本
                .license(new License().name("Apache 2.0").url("http://springdoc.org") // 文档许可证链接
                )).externalDocs(new ExternalDocumentation().description("外部文档") // 外部文档描述
                .url("https://springshop.wiki.github.org/docs") // 外部文档链接
        );
    }

}



